#ifndef LEVELEDITOR_H
#define LEVELEDITOR_H

#include <QWidget>

namespace Ui
{
    class leveleditor;
}

namespace sk
{
    class LevelItem;
    class GameShape;
}

class DesignWindow;
class LevelEditor : public QWidget
{
    Q_OBJECT   
public:
    explicit LevelEditor(QWidget *parent = 0);
    ~LevelEditor();

    void setLevelItem(sk::LevelItem * item);
    DesignWindow * designWindow();
    bool isDrop() const;
    void setDesign() const;
private:
    void createEditableObjects();
private:
    Ui::leveleditor *ui;

private slots:
    void on_btnStopSimulation_clicked();
    void on_btnStartSimulation_clicked();
    void on_btnCreateTriangle_clicked();
    void on_btnCreateCircle_clicked();
    void on_btnCreateBox_clicked();
    void on_tabWidget_currentChanged(int index);

private:
    sk::LevelItem * _levelItem;
private:
    void _doCreateItem(void * param);
    bool _first;
};

#endif // LEVELEDITOR_H
